﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Dialong
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void btnOpen_Click(object sender, EventArgs e)
        {
            //点击弹出对话框
            var dialong = new OpenFileDialog();



            //设置对话框属性
            dialong.Title = "请选择要打开的文本文件";//标题
            dialong.Multiselect = true;  //支持对话框可以多选
            dialong.InitialDirectory = @"D:\CsharpAdvanced\wjj";//打开默认目录
            dialong.Filter = "文本文件|*.txt";

            //展开对话框
            dialong.ShowDialog();


            //获得选中文件的路径
            var paths = dialong.FileNames;
            if (paths.Length == 0)
            {
                MessageBox.Show("请选择一个文件！");
                return;
            }
            //读取二进制文件，显示在文本框
            textBox1.Text = string.Empty;
            foreach (var path in paths)
            {
                using (FileStream fsRead = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read))
                {
                    //读取文件大小不超过7M
                    byte[] buffer = new byte[1024 * 1024 * 7];
                    //实际读取的字节数
                    int r = fsRead.Read(buffer, 0, buffer.Length);
                    textBox1.Text = Encoding.UTF8.GetString(buffer, 0, r) + "\r\n\r\n";

                }
            }

        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            //通过对话框选择保存的路径
            //点击弹出对话框
            var dialong = new SaveFileDialog();



            //设置对话框属性
            dialong.Title = "请选择要保存的路径";//标题
            dialong.InitialDirectory = @"D:\CsharpAdvanced\wjj";//打开默认目录
            dialong.Filter = "文本文件|*.txt";
            //展开对话框
            dialong.ShowDialog();



            //路径文件的写入
            var path = dialong.FileName;
            if (path.Length == 0)
            {
                MessageBox.Show("请选择保存的路径！");
                return;
            }
          

            using (FileStream fsWrite = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
            {
             

                //把字符串转换成二进制
                byte[] buffer = Encoding.UTF8.GetBytes(textBox1.Text);
                //实际读取的字节数
                fsWrite.Write(buffer, 0, buffer.Length); 
            }
          MessageBox.Show("保存成功！");
        }

        private void btnFont_Click(object sender, EventArgs e)
        {
            //选择字体
            var fd = new FontDialog();
            fd.ShowDialog();

            //把选好的字体赋值给文本框
            textBox1.Font = fd.Font;

        }

        private void btnColor_Click(object sender, EventArgs e)
        {
            //选择颜色
            var cd = new ColorDialog();
            cd.ShowDialog();

            //把选好的颜色赋值给文本框
            textBox1.ForeColor = cd.Color;

        }
    }
}
